{
    "1": [
        {
            "name": "mainnet",
            "chainId": "1",
            "contracts": {
                "ArbitrumHubConnector": {
                    "address": "0xd151C9ef49cE2d30B829a98A07767E3280F70961",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_outbox",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxSubmissionCostCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxGasCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasPriceCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "NotCrossChainCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasPriceCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MaxGasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MaxSubmissionCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "ticketId",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RetryableTicketCreated",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gasPriceCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxGasCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxSubmissionCostCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outbox",
                            "outputs": [
                                {
                                    "internalType": "contract IArbitrumOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint64",
                                    "name": "_nodeNum",
                                    "type": "uint64"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sendRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_blockHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[]",
                                    "name": "_proof",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_index",
                                    "type": "uint256"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "l2Sender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l2Block",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l1Block",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l2Timestamp",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "value",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct L2Message",
                                    "name": "_message",
                                    "type": "tuple"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "processed",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rollup",
                            "outputs": [
                                {
                                    "internalType": "contract IArbitrumRollup",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasPriceCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxSubmissionCostCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "BnbHubConnector": {
                    "address": "0xfaf539a73659feaec96ec7242f075be0445526a8",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_mirrorChainId",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "anyExecute",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "result",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x8898B472C54c31894e3B9bb83cEA802a5d0e63C6",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x8898B472C54c31894e3B9bb83cEA802a5d0e63C6",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "GnosisHubConnector": {
                    "address": "0x245F757d660C3ec65416168690431076d58d6413",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_mirrorChainId",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_CHAIN_ID",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_signatures",
                                    "type": "bytes"
                                }
                            ],
                            "name": "executeSignatures",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0xf7DE5aCeEeE6091d1103209C337fA00D0B4b9092",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MainnetSpokeConnector": {
                    "address": "0xF7c4d7dcEc2c09A15f2Db5831d6d25eAEf0a296c",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerRoot": {
                    "address": "0x6a67f2E9B43eb8f2634E24E02e71F26F3E20C452",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerRootUpgradeBeacon": {
                    "address": "0x1717744698874C9290ebF32de10b7f7383fb4d7B",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerRootUpgradeBeaconProxy": {
                    "address": "0x7D2596D7E44b0990611d390Fbb0Bd24e64845694",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerSpoke": {
                    "address": "0x0B266F7ed121004A7d1B098598A9275BA5851D2f",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeUpgradeBeacon": {
                    "address": "0x23a399a7BBba31a61EB0620f1e8B6f250a5b76de",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeUpgradeBeaconProxy": {
                    "address": "0x28a9e7bbed277092e2431f186e1af898962d4e92",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x7e4490E97c8243D844719f26a0b47fD5A59fDc2e",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "OptimismHubConnector": {
                    "address": "0x4a0126Ee88018393b1AD2455060Bc350eAd9908A",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stateCommitmentChain",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_target",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageNonce",
                                    "type": "uint256"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "stateRoot",
                                            "type": "bytes32"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint256",
                                                    "name": "batchIndex",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "batchRoot",
                                                    "type": "bytes32"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "batchSize",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "prevTotalElements",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "extraData",
                                                    "type": "bytes"
                                                }
                                            ],
                                            "internalType": "struct ChainBatchHeader",
                                            "name": "stateRootBatchHeader",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint256",
                                                    "name": "index",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "siblings",
                                                    "type": "bytes32[]"
                                                }
                                            ],
                                            "internalType": "struct ChainInclusionProof",
                                            "name": "stateRootProof",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "stateTrieWitness",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "storageTrieWitness",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct L2MessageInclusionProof",
                                    "name": "_proof",
                                    "type": "tuple"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "processed",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stateCommitmentChain",
                            "outputs": [
                                {
                                    "internalType": "contract IStateCommitmentChain",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PolygonHubConnector": {
                    "address": "0xb01bc38909413f5dbb8f18a9b5787a62ce1282ae",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_checkPointManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SEND_MESSAGE_EVENT_SIG",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "checkpointManager",
                            "outputs": [
                                {
                                    "internalType": "contract ICheckpointManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxChildTunnel",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxRoot",
                            "outputs": [
                                {
                                    "internalType": "contract IFxStateSender",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "processedExits",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "inputData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "receiveMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxyHub": {
                    "address": "0x75C6A865c30da54e365Cb5Def728890B3DD8BDC4",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldRootManager",
                                    "type": "address"
                                }
                            ],
                            "name": "RootManagerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "_messageFees",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "_encodedData",
                                    "type": "bytes[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "propagate",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootManager",
                            "outputs": [
                                {
                                    "internalType": "contract IRootManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setRootManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RootManager": {
                    "address": "0xd5d61E9dfb6680Cba8353988Ba0337802811C2e1",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint32[]",
                                    "name": "domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "ConnectorAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint32[]",
                                    "name": "domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "connectors",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnectorRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                }
                            ],
                            "name": "DomainAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "DomainRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                }
                            ],
                            "name": "PropagateFailed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "RootDiscarded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "domainsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "RootPropagated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "receivedRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "queueIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "aggregatedMessageRoots",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "RootsAggregated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DEQUEUE_MAX",
                            "outputs": [
                                {
                                    "internalType": "uint128",
                                    "name": "",
                                    "type": "uint128"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MAX_DOMAINS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_connector",
                                    "type": "address"
                                }
                            ],
                            "name": "addConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_inbound",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "aggregate",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "connectors",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connectorsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "dequeue",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "discardRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "domains",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domainsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getConnectorForDomain",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getDomainIndex",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getPendingInboundRootsCount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "isDomainSupported",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastPropagatedRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pendingInboundRoots",
                            "outputs": [
                                {
                                    "internalType": "uint128",
                                    "name": "first",
                                    "type": "uint128"
                                },
                                {
                                    "internalType": "uint128",
                                    "name": "last",
                                    "type": "uint128"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "_fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "_encodedData",
                                    "type": "bytes[]"
                                }
                            ],
                            "name": "propagate",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "removeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "validateConnectors",
                            "outputs": [],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32[]",
                                    "name": "_domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "validateDomains",
                            "outputs": [],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x244944eE0988C419F81D3114C9175AF2cf095F44",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x32171357233C988c3725924505F17A0F0884c31C",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x9283c1fb0d69a737b766ef1c15833358e01ac620",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0x6a595E41893a5ACBA9dBf8288B92eb71106Ba7A6",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0xCF790788Ef1DA81d555cEC33F04F7e9E13DCae11",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "5": [
        {
            "name": "goerli",
            "chainId": "5",
            "contracts": {
                "ArbitrumHubConnector": {
                    "address": "0x58d3464e5AAb9c598A7059d182720a04aD59b01F",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_outbox",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxSubmissionCostCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxGasCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasPriceCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "NotCrossChainCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasPriceCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MaxGasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MaxSubmissionCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "ticketId",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RetryableTicketCreated",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gasPriceCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxGasCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxSubmissionCostCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outbox",
                            "outputs": [
                                {
                                    "internalType": "contract IArbitrumOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint64",
                                    "name": "_nodeNum",
                                    "type": "uint64"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sendRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_blockHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[]",
                                    "name": "_proof",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_index",
                                    "type": "uint256"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "l2Sender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l2Block",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l1Block",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l2Timestamp",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "value",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct L2Message",
                                    "name": "_message",
                                    "type": "tuple"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "processed",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rollup",
                            "outputs": [
                                {
                                    "internalType": "contract IArbitrumRollup",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasPriceCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxSubmissionCostCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "ArbitrumHubConnectorStaging": {
                    "address": "0x7Cc2798d6f7C00E19F6DA0eFD9e4a0c5497FD928",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_outbox",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxSubmissionCostCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxGasCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasPriceCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "NotCrossChainCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasPriceCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MaxGasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MaxSubmissionCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "ticketId",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RetryableTicketCreated",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gasPriceCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxGasCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxSubmissionCostCap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outbox",
                            "outputs": [
                                {
                                    "internalType": "contract IArbitrumOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint64",
                                    "name": "_nodeNum",
                                    "type": "uint64"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sendRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_blockHash",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[]",
                                    "name": "_proof",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_index",
                                    "type": "uint256"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "l2Sender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l2Block",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l1Block",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "l2Timestamp",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "value",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct L2Message",
                                    "name": "_message",
                                    "type": "tuple"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "processed",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rollup",
                            "outputs": [
                                {
                                    "internalType": "contract IArbitrumRollup",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasPriceCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxSubmissionCostCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "BigBroERC20": {
                    "address": "0x2D4A671E49d39Fc13F9237f60B6E6FDd16d8Ad4d",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacetStaging": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0xFCa08024A6D4bCc87275b1E4A1E22B71fAD7f649",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging": {
                    "address": "0xC0a8BC9E98BD1bEeEC0a1b127BDb3e9a5fb7EC6C",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging_DiamondProxy": {
                    "address": "0xC0a8BC9E98BD1bEeEC0a1b127BDb3e9a5fb7EC6C",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0xFCa08024A6D4bCc87275b1E4A1E22B71fAD7f649",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacetStaging": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInitStaging": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacetStaging": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x90E10B6F3A44e90a1F54E79b0E8a6A428e57ec0C",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "MINIMUM_LIQUIDITY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MainnetSpokeConnector": {
                    "address": "0xE9c7095c956F9F75e21dD99027aDF6bFfFa9BA9A",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MainnetSpokeConnectorStaging": {
                    "address": "0x1A1FcD6FE9372E6e9391FEDBe249A9a7E32D8Aaf",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerRoot": {
                    "address": "0xbE0d562E4e0B915bA5c1F11709C4DD9b07122493",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerRootStaging": {
                    "address": "0x5038bFa7dB9DaDf77907f90FcAC672F108fC6f74",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerRootUpgradeBeacon": {
                    "address": "0xc8DFD5ef63aE13b27fE0b9d3562CEa7e85632b46",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerRootUpgradeBeaconProxy": {
                    "address": "0x2A2A9a4B612678E081b74a0bBcfD51DE726a9bd7",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerRootUpgradeBeaconProxyStaging": {
                    "address": "0xc18C57043055a4619f62937c803C10373e311182",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerRootUpgradeBeaconStaging": {
                    "address": "0x578b2f79D751DD5C8DF49c9EEe72a77fdAdC1269",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerSpoke": {
                    "address": "0x8c42d05ca4acCF74Da2200d5d64C3A963c0ED06B",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeStaging": {
                    "address": "0x315d6A51dE29d1Ed10658fdf99FC238BB2a10801",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeUpgradeBeacon": {
                    "address": "0x53dC0EAb584235F20E1b02e61F9Ed0363e398EAa",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeUpgradeBeaconProxy": {
                    "address": "0x7839D0b5486d8d7fDD0dc4195426681f08a7b3fe",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeUpgradeBeaconProxyStaging": {
                    "address": "0x15D889ba5ec6548AE158a85953D907c6D78DE834",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerSpokeUpgradeBeaconStaging": {
                    "address": "0xDFaef852901CD04Cb1d29B17039a75cfAA2f65F1",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x4c24746eb19007195fa7b0DDb48b12251455ced1",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "OptimismHubConnector": {
                    "address": "0xa9eB35ebC739e753BCb5B75D2753A9023A0AC1D8",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stateCommitmentChain",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_target",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageNonce",
                                    "type": "uint256"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "stateRoot",
                                            "type": "bytes32"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint256",
                                                    "name": "batchIndex",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "batchRoot",
                                                    "type": "bytes32"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "batchSize",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "prevTotalElements",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "extraData",
                                                    "type": "bytes"
                                                }
                                            ],
                                            "internalType": "struct ChainBatchHeader",
                                            "name": "stateRootBatchHeader",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint256",
                                                    "name": "index",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "siblings",
                                                    "type": "bytes32[]"
                                                }
                                            ],
                                            "internalType": "struct ChainInclusionProof",
                                            "name": "stateRootProof",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "stateTrieWitness",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "storageTrieWitness",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct L2MessageInclusionProof",
                                    "name": "_proof",
                                    "type": "tuple"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "processed",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stateCommitmentChain",
                            "outputs": [
                                {
                                    "internalType": "contract IStateCommitmentChain",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "OptimismHubConnectorStaging": {
                    "address": "0x9537a48b72b1879F3e6B6c9FD34Cac3d05946dE0",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stateCommitmentChain",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_target",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageNonce",
                                    "type": "uint256"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "stateRoot",
                                            "type": "bytes32"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint256",
                                                    "name": "batchIndex",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "batchRoot",
                                                    "type": "bytes32"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "batchSize",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "prevTotalElements",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "extraData",
                                                    "type": "bytes"
                                                }
                                            ],
                                            "internalType": "struct ChainBatchHeader",
                                            "name": "stateRootBatchHeader",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint256",
                                                    "name": "index",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "siblings",
                                                    "type": "bytes32[]"
                                                }
                                            ],
                                            "internalType": "struct ChainInclusionProof",
                                            "name": "stateRootProof",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "stateTrieWitness",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "storageTrieWitness",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct L2MessageInclusionProof",
                                    "name": "_proof",
                                    "type": "tuple"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "processed",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stateCommitmentChain",
                            "outputs": [
                                {
                                    "internalType": "contract IStateCommitmentChain",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PolygonHubConnector": {
                    "address": "0x9060E2B92a4e8D4EAd05B7f3D736e3DA33955fa5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_checkPointManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SEND_MESSAGE_EVENT_SIG",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "checkpointManager",
                            "outputs": [
                                {
                                    "internalType": "contract ICheckpointManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxChildTunnel",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxRoot",
                            "outputs": [
                                {
                                    "internalType": "contract IFxStateSender",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "processedExits",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "inputData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "receiveMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PolygonHubConnectorStaging": {
                    "address": "0x73C7206B0b8aeeE14D73238139c4d25B3D044cAf",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_checkPointManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SEND_MESSAGE_EVENT_SIG",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "checkpointManager",
                            "outputs": [
                                {
                                    "internalType": "contract ICheckpointManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxChildTunnel",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxRoot",
                            "outputs": [
                                {
                                    "internalType": "contract IFxStateSender",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "processedExits",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "inputData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "receiveMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "sendMessage",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacetStaging": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacetStaging": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacetStaging": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxyHub": {
                    "address": "0x927a1F873A45d0bdec317D07f36409CC0c759F30",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldRootManager",
                                    "type": "address"
                                }
                            ],
                            "name": "RootManagerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "_messageFees",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "_encodedData",
                                    "type": "bytes[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "propagate",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootManager",
                            "outputs": [
                                {
                                    "internalType": "contract IRootManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setRootManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RelayerProxyHubStaging": {
                    "address": "0x810e15EDce51A1Dfd3843725F7906AcB5AFA574B",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldRootManager",
                                    "type": "address"
                                }
                            ],
                            "name": "RootManagerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "_messageFees",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "_encodedData",
                                    "type": "bytes[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "propagate",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootManager",
                            "outputs": [
                                {
                                    "internalType": "contract IRootManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setRootManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RootManager": {
                    "address": "0x94e1c90fb33FEc184B183625BBf096F713CA74a3",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint32[]",
                                    "name": "domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "ConnectorAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint32[]",
                                    "name": "domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "connectors",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnectorRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                }
                            ],
                            "name": "DomainAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "DomainRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                }
                            ],
                            "name": "PropagateFailed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "RootDiscarded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "domainsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "RootPropagated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "receivedRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "queueIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "aggregatedMessageRoots",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "RootsAggregated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DEQUEUE_MAX",
                            "outputs": [
                                {
                                    "internalType": "uint128",
                                    "name": "",
                                    "type": "uint128"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MAX_DOMAINS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_connector",
                                    "type": "address"
                                }
                            ],
                            "name": "addConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_inbound",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "aggregate",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "connectors",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connectorsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "dequeue",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "discardRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "domains",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domainsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getConnectorForDomain",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getDomainIndex",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getPendingInboundRootsCount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "isDomainSupported",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastPropagatedRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pendingInboundRoots",
                            "outputs": [
                                {
                                    "internalType": "uint128",
                                    "name": "first",
                                    "type": "uint128"
                                },
                                {
                                    "internalType": "uint128",
                                    "name": "last",
                                    "type": "uint128"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "_fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "_encodedData",
                                    "type": "bytes[]"
                                }
                            ],
                            "name": "propagate",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "removeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "validateConnectors",
                            "outputs": [],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32[]",
                                    "name": "_domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "validateDomains",
                            "outputs": [],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "RootManagerStaging": {
                    "address": "0x0310DB8043520BF31fBEf5350D1E3d451C6de68a",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint32[]",
                                    "name": "domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "ConnectorAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint32[]",
                                    "name": "domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "connectors",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnectorRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                }
                            ],
                            "name": "DomainAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "DomainRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "connector",
                                    "type": "address"
                                }
                            ],
                            "name": "PropagateFailed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "RootDiscarded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "domainsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "RootPropagated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "receivedRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "queueIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "aggregatedMessageRoots",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "RootsAggregated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DEQUEUE_MAX",
                            "outputs": [
                                {
                                    "internalType": "uint128",
                                    "name": "",
                                    "type": "uint128"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MAX_DOMAINS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_connector",
                                    "type": "address"
                                }
                            ],
                            "name": "addConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_inbound",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "aggregate",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "connectors",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connectorsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "dequeue",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "discardRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "name": "domains",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domainsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getConnectorForDomain",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getDomainIndex",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getPendingInboundRootsCount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "isDomainSupported",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastPropagatedRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pendingInboundRoots",
                            "outputs": [
                                {
                                    "internalType": "uint128",
                                    "name": "first",
                                    "type": "uint128"
                                },
                                {
                                    "internalType": "uint128",
                                    "name": "last",
                                    "type": "uint128"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "_fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "_encodedData",
                                    "type": "bytes[]"
                                }
                            ],
                            "name": "propagate",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "removeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "validateConnectors",
                            "outputs": [],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32[]",
                                    "name": "_domains",
                                    "type": "uint32[]"
                                },
                                {
                                    "internalType": "address[]",
                                    "name": "_connectors",
                                    "type": "address[]"
                                }
                            ],
                            "name": "validateDomains",
                            "outputs": [],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RoutersFacetStaging": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0xA1D8e02eEFaf5A3E0d09b0318b8848e3C98b54C9",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacetStaging": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapStaging": {
                    "address": "0x14B68C9a9a814Bc06e4548c2b5314deF3aF006B8",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacetStaging": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x6d5A3a9aB6a8439EAba917eD991De2b5DFc6b606",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternalStaging": {
                    "address": "0x2dA492af25728b64676DA323ee7ee27DdaFeA658",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TestAdopted": {
                    "address": "0x33CF113f786cE4017EaB8830E46b2283d2634BC4",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestERC20": {
                    "address": "0x7ea6eA49B0b0Ae9c5db7907d139D9Cd3439862a1",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "detailsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_newDecimals",
                                    "type": "uint8"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_detailsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "setDetailsHash",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestWETH": {
                    "address": "0x4aBb2487fF5f734CBA51DAa2f6dc8680234d3532",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "detailsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_newDecimals",
                                    "type": "uint8"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_detailsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "setDetailsHash",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacetStaging": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "Unwrapper": {
                    "address": "0xa6633d369A9C4C8A442ef104E8e293DA7b352Acd",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "wrapper",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDelivered",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                }
                            ],
                            "name": "WrongAsset",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "CONNEXT",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "WRAPPER",
                            "outputs": [
                                {
                                    "internalType": "contract IWrapper",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "sweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "unwrapAndSweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xReceive",
                            "outputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x106025ced78Cc21c9603e09857B4e2F9CB27710b",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconControllerStaging": {
                    "address": "0x64A6Dbb45AfF4269F2c67c1B5E6a17C29584541f",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0xD24A76b5788cC97f6ED14168480AdC9D25D2faBb",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManagerStaging": {
                    "address": "0x7fD17f3b32747C33Ae44e8F2318545658986e38f",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "10": [
        {
            "name": "optimism",
            "chainId": "10",
            "contracts": {
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x8f7492DE823025b4CfaAB1D34c58963F2af5DEDA",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x8f7492DE823025b4CfaAB1D34c58963F2af5DEDA",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x60dcBC3BB9EAc7264A2D279f790969CcDE61F4CF",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0xE9ddD1963D302d1E13239A3C25254EfD39C2DA91",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0x11984dc4465481512eb5b777E44061C158CF2259",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0x88483B3e3B4DD7cEdB8EFcef81F6dC9adb6292D5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0xb0eEf3e1De973d045C3858E072c540299585252d",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "OptimismSpokeConnector": {
                    "address": "0x32155C9d39084F040Ba17890fE8134dbE2a0453f",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0x5bB83e95f63217CDa6aE3D181BA580Ef377D2109",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0xE8c9FA5195C607dd3523862696c24c86770AF64A",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x67528e1e4394225c322919a87d9E8d6C688A783f",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0xa28DE94d2e6F84659c2C32dF14334Daa08DD6461",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0x924E679c3c23017aef214c9ea1fBC22e97ff9E2e",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0xCF790788Ef1DA81d555cEC33F04F7e9E13DCae11",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "56": [
        {
            "name": "bnb",
            "chainId": "56",
            "contracts": {
                "BnbSpokeConnector": {
                    "address": "0x126A99af70eC62921C07E67943aCF61bF304Ef55",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_mirrorChainId",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "anyExecute",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "result",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0xCd401c10afa37d641d2F594852DA94C700e4F2CE",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0xCd401c10afa37d641d2F594852DA94C700e4F2CE",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x9cb50C61DFf68fcEe18Fe3AfeFbbF086778a53c0",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0x5653e04FAF6c00d7A0dC954a452ba4E2A6791947",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0xf0B5a56aC58736b44Bab07c5BC12fA0F5307B407",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0x995dfd686f4953B059355Df769cc4CE672983aF1",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x5810EE8bf37D193Dca7c90a21939A4131Cf8646F",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Multicall": {
                    "address": "0x955D1693C64e5a0746130FF6F6653E2171cC6708",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "target",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct Multicall.Call[]",
                                    "name": "calls",
                                    "type": "tuple[]"
                                }
                            ],
                            "name": "aggregate",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "blockNumber",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "returnData",
                                    "type": "bytes[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0x51E6cAB281aAC8e4d984ccfFf4ECe5b7352b0B5c",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0xaCe3d3Fa125Be4da12C59C865C588B98564900B7",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0xEE9deC2712cCE65174B561151701Bf54b99C24C8",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x8d5A6BE033d6Aec504F87c8be946aE9B6b1f2dD7",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0xeBc0a8e5B841Be85428e7dCc66C283DC2fd111f9",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0xCF790788Ef1DA81d555cEC33F04F7e9E13DCae11",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "97": [
        {
            "name": "chapel",
            "chainId": "97",
            "contracts": {}
        }
    ],
    "100": [
        {
            "name": "xdai",
            "chainId": "100",
            "contracts": {
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x5bB83e95f63217CDa6aE3D181BA580Ef377D2109",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x5bB83e95f63217CDa6aE3D181BA580Ef377D2109",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "GnosisSpokeConnector": {
                    "address": "0x771B2c910D76ecf84B100559CF3Ec4cB2e8D4aC5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_mirrorChainId",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_CHAIN_ID",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x7A76e7874f3c2222352386e9a2FC8922C2F3032B",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0x11984dc4465481512eb5b777E44061C158CF2259",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0x88483B3e3B4DD7cEdB8EFcef81F6dC9adb6292D5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0x32155C9d39084F040Ba17890fE8134dbE2a0453f",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x8bdbbfC9518970bC3DF3EE83fF691b8320DDb1d0",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0xeA50d5949C14b00A8F87067A81364A60d83c48FE",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x17aB9B14AC7659390B3994f9e67Bf833e60Ec1BD",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0xc92FC5A968886C09668d3128A2802C88d9eB9CEB",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x0F219898699B3F8008D9f05fAc10bd08D4D6C65d",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0xE9ddD1963D302d1E13239A3C25254EfD39C2DA91",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "137": [
        {
            "name": "matic",
            "chainId": "137",
            "contracts": {
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x11984dc4465481512eb5b777E44061C158CF2259",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x11984dc4465481512eb5b777E44061C158CF2259",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x0c2A20338910AC902e109A939E58Fd17b0402905",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0x894fa81096804d9756B626D93B8dE5e346D45cBf",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0x054cb759Cef515c8CA71e19367c6091a7B76D962",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0x73B1d7aE726919Dd4B6f50d7c3EBF3660F253f82",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x0E874690A36f7683AFB487F4cc0711aD8031278a",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "PolygonSpokeConnector": {
                    "address": "0x96fDDc1A6FBDb232e9adA1fFc1026799F85128e9",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxChild",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxRootTunnel",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "stateId",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "rootMessageSender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0x88483B3e3B4DD7cEdB8EFcef81F6dC9adb6292D5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x5b258301f47024eA1D871d57059fADBcf5aec9A9",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x34679D49165a2ee084C5344fBD18021161f74319",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x75bDEd539f905411A19b2e9F8C7B21c25F77a7bB",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0x542AaB88B14055e47222791276967Db5f9B840f6",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "420": [
        {
            "name": "optimism-goerli",
            "chainId": "420",
            "contracts": {
                "BigBroERC20": {
                    "address": "0xF6dbBbDa9F1F891C12FF4E0aB0FF65a228B72a94",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacetStaging": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x5Ea1bb242326044699C3d81341c5f535d5Af1504",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging": {
                    "address": "0xEE725087E0a39010E7341642ec4DeE76b61acA21",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging_DiamondProxy": {
                    "address": "0xEE725087E0a39010E7341642ec4DeE76b61acA21",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x5Ea1bb242326044699C3d81341c5f535d5Af1504",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacetStaging": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInitStaging": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacetStaging": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x1ba05d3b89A462cf25F4559B6820F81C970A1eBb",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "MINIMUM_LIQUIDITY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0x1Ae8F6603ec6c230Bfc9C1d8bF405ed62EB1001F",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerStaging": {
                    "address": "0x43D5eD312F9c241c9b1797723Fc2b6945849caE2",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0xbc7166f75c40f5cddAC25B4bC4beD225A4B638C5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0xF0E8d77FB11FE01CF6576B9E0F780AfF20c5176e",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxyStaging": {
                    "address": "0xD37F320417c46C7DB7fa7Ec8705F9AeF7baC5F43",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconStaging": {
                    "address": "0x97D594AD796B8024bc3e5Ef17955d8Ffb470858e",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0xc6ABd76669FCa4038638a23a6cd8d3591aC50206",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "OptimismSpokeConnector": {
                    "address": "0xEe8608Cc250c8f9aAc5045930Fc9661F64464774",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "OptimismSpokeConnectorStaging": {
                    "address": "0xc3162C1087995CC3695c8c1f704B86f8e0F37156",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_previous",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "GasCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_gasCap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setGasCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacetStaging": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacetStaging": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacetStaging": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0x88348790795a93A533A7F71c926c56012F27f758",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RelayerProxyStaging": {
                    "address": "0xAF788F9DFE33B4fA3AaDed16C0869Cccd04bD93b",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RoutersFacetStaging": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x6792a39ae310642b06Fa749769a58eAcB7cEC114",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacetStaging": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapStaging": {
                    "address": "0x85EeE71b13a62217865c6cb97190FA3801586eBc",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacetStaging": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x9033137c280D9040371d8Bcf83aE91bdC5855EfE",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternalStaging": {
                    "address": "0x7FF4987de529357A69Ed53Ec8068599A73de7B1B",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TestAdopted": {
                    "address": "0xE83F983D50EdF3E76994672c6CEF4287CB32C2DE",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestERC20": {
                    "address": "0x68Db1c8d85C09d546097C65ec7DCBFF4D6497CbF",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "detailsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_newDecimals",
                                    "type": "uint8"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_detailsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "setDetailsHash",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestWETH": {
                    "address": "0x39B061B7e41DE8B721f9aEcEB6b3f17ECB7ba63E",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "detailsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_newDecimals",
                                    "type": "uint8"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_detailsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "setDetailsHash",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacetStaging": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "Unwrapper": {
                    "address": "0x08bDeFD0e4878A814Cb2fd11C033F3947251689f",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "wrapper",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDelivered",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                }
                            ],
                            "name": "WrongAsset",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "CONNEXT",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "WRAPPER",
                            "outputs": [
                                {
                                    "internalType": "contract IWrapper",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "sweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "unwrapAndSweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xReceive",
                            "outputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0xF7a2B3F6e27db0848436F311711618e010a48Ad0",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconControllerStaging": {
                    "address": "0xeE94FBAb226B030dbD4ce63543fBD7cfA38302c2",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0x9380323Fb7CB08693d723fc9B6687Bf8Cc4A864E",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManagerStaging": {
                    "address": "0xD9A8089e30D527336B5f6D4ba919E7bb8694D86b",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "42161": [
        {
            "name": "arbitrum-one",
            "chainId": "42161",
            "contracts": {
                "ArbitrumSpokeConnector": {
                    "address": "0xFD81392229b6252cF761459d370C239Be3aFc54F",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "NotCrossChainCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "AliasedSenderUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aliasedSender",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0xEE9deC2712cCE65174B561151701Bf54b99C24C8",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0xEE9deC2712cCE65174B561151701Bf54b99C24C8",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0xF659A7b83Fd9f69B52F4BCF9389991515acf4Fd0",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "MINIMUM_LIQUIDITY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0xca790C6CAaCB69f070092ca680760a1abB00Cd8D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0x9cb50C61DFf68fcEe18Fe3AfeFbbF086778a53c0",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0x8533004Ecb90151cD821dc2Fafb78797d8fdd085",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x20C2A9430BAa7251Eb9143Cbe80aC3968893D06C",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Multicall": {
                    "address": "0xfD9B8B1B7e44b39DFA04D66159Ac21B68141eD38",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "target",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct Multicall.Call[]",
                                    "name": "calls",
                                    "type": "tuple[]"
                                }
                            ],
                            "name": "aggregate",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "blockNumber",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes[]",
                                    "name": "returnData",
                                    "type": "bytes[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0xaCe3d3Fa125Be4da12C59C865C588B98564900B7",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x3Da402D5cD4bf0A7C6003c0b9c3c19fdf1e90fd0",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x9E40a8A535D4875848e1821e3C59AB5C5dd86135",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "A_PRECISION",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MAX_A",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x1aC32215b08806A5Bc5271D7FD77919C3C8ca84E",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0x43Add7f520Cc35e5DbF04f5426a03EA8Ca052c98",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "80001": [
        {
            "name": "mumbai",
            "chainId": "80001",
            "contracts": {
                "BigBroERC20": {
                    "address": "0x4382968E36D3472D3Af6B085bF95E7521083721F",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacetStaging": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x2334937846Ab2A3FCE747b32587e1A1A2f6EEC5a",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging": {
                    "address": "0x88F527c8Cb7282e93796c1559949570Da6cd671D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging_DiamondProxy": {
                    "address": "0x88F527c8Cb7282e93796c1559949570Da6cd671D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x2334937846Ab2A3FCE747b32587e1A1A2f6EEC5a",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacetStaging": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInitStaging": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacetStaging": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0xcad5f98194A6325e213412d4122b58Da883D3aA7",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0x856B27CD8EC42392DD332Fb50dAd855172673383",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerStaging": {
                    "address": "0x1A512894BCF989Db079971062b20374f1D5958Aa",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0xD1E8A594D13416490112Cb28d580959A5778d660",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0xEf8317C06643aDDeC80441ce5ae184aa207a94fD",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxyStaging": {
                    "address": "0x1572B96bFB7A49FB27206bCe58BB407AC3d31162",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconStaging": {
                    "address": "0x37128a7a43Db49AFE754c3Ac210AFd22B6CcB388",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x51Ab1aB233B4936D426F6150d1c2A1180a6481DC",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "PolygonSpokeConnector": {
                    "address": "0x8d2690fDc417a231d6D919F9cb1f2fB317B36af5",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxChild",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxRootTunnel",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "stateId",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "rootMessageSender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PolygonSpokeConnectorStaging": {
                    "address": "0xF0BDAB8B69F14c1d91B834075235de7FFa8A1918",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxChild",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "fxRootTunnel",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "stateId",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "rootMessageSender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessageFromRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacetStaging": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacetStaging": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacetStaging": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0x2730AC87C162894fa723b4553Ed396C484b80dE2",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RelayerProxyStaging": {
                    "address": "0x9C51fab4E8d4590239E1f84ded5c538426238F3F",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RoutersFacetStaging": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x5dE2B1262D14baa523D3bFd03a70595475413459",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacetStaging": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapStaging": {
                    "address": "0x51Ce3D4393395d44Fde89D8f5f1Dca73296E42b6",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacetStaging": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x4cadD5f06ae9009C1a7099109B50a9EA8f578607",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternalStaging": {
                    "address": "0x8ea8B86AE62060B1F16608aAe1Ec8fC4030d7fA8",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TestAdopted": {
                    "address": "0xbD34782B492D7B19F3BEC49Ce015197f85f814e4",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestERC20": {
                    "address": "0xeDb95D8037f769B72AAab41deeC92903A98C9E16",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "detailsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_newDecimals",
                                    "type": "uint8"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_detailsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "setDetailsHash",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestWETH": {
                    "address": "0x1E5341E4b7ed5D0680d9066aac0396F0b1bD1E69",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "detailsHash",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_newDecimals",
                                    "type": "uint8"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_detailsHash",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "setDetailsHash",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacetStaging": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "Unwrapper": {
                    "address": "0x1e0Db00EB08ceC7FFdA03c0Dbf224193E1563844",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "wrapper",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDelivered",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                }
                            ],
                            "name": "WrongAsset",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "CONNEXT",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "WRAPPER",
                            "outputs": [
                                {
                                    "internalType": "contract IWrapper",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "sweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "unwrapAndSweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xReceive",
                            "outputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0x26ADee2A2fA9D1b9080912Fa9B5bF7DdB762c5C1",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconControllerStaging": {
                    "address": "0x5248aacb2f568B6E9ce70e872815E564e8386F02",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0xe8FB916347D854C7eacEf974e1CE35eC7df93838",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManagerStaging": {
                    "address": "0x87fcE24b0563F7Ed981101291C360b54FBFCB7e2",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ],
    "421613": [
        {
            "name": "arbitrum-goerli",
            "chainId": "421613",
            "contracts": {
                "ArbitrumSpokeConnector": {
                    "address": "0x0F4E2866D874B94fc7424d7469deB13C8aE7738F",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "NotCrossChainCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "AliasedSenderUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aliasedSender",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "ArbitrumSpokeConnectorStaging": {
                    "address": "0x644bbF6754527603DB30509AAB74bbeC4FD6EFaD",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_amb",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_rootManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_processGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_reserveGas",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_merkle",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "Connector__processMessage_notUsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "NotCrossChainCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RateLimited__rateLimited_messageSendRateExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_identityOOG",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_invalidPointer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__unsafeCopyTo_nullPointer",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "AggregateRootVerified",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "AliasedSenderUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "DelayBlocksUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Dispatch",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageProcessed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "MessageProven",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MessageSent",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "current",
                                    "type": "address"
                                }
                            ],
                            "name": "MirrorConnectorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "mirrorDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "amb",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "rootManager",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "NewConnector",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "Process",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updater",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newRateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SendRateLimitUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sender",
                                    "type": "address"
                                }
                            ],
                            "name": "SenderRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherManagerChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "AMB",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MERKLE",
                            "outputs": [
                                {
                                    "internalType": "contract MerkleTreeManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "MIRROR_DOMAIN",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PROCESS_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RESERVE_GAS",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ROOT_MANAGER",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "addSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aliasedSender",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowlistedSenders",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delayBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destinationDomain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_recipientAddress",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "dispatch",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "home",
                            "outputs": [
                                {
                                    "internalType": "contract IOutbox",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_potentialReplica",
                                    "type": "address"
                                }
                            ],
                            "name": "isReplica",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lastSentBlock",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "localDomain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "messages",
                            "outputs": [
                                {
                                    "internalType": "enum SpokeConnector.MessageStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "mirrorConnector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "outboundRoot",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "pendingAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_data",
                                    "type": "bytes"
                                }
                            ],
                            "name": "processMessage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenAggregateRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "provenMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rateLimitBlocks",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_fraudulentRoot",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removePendingAggregateRoot",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSender",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "sentMessageRoots",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_delayBlocks",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setDelayBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_mirrorConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setMirrorConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_rateLimit",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setRateLimitBlocks",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcherManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setWatcherManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_expected",
                                    "type": "address"
                                }
                            ],
                            "name": "verifySender",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "watcherManager",
                            "outputs": [
                                {
                                    "internalType": "contract WatcherManager",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "withdrawFunds",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "BigBroERC20": {
                    "address": "0x1fCBa85A79D01ea0F350566242e4dFc6fceB3b73",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "DOMAIN_SEPARATOR",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                }
                            ],
                            "name": "nonces",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_value",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_deadline",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_v",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_r",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_s",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "permit",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacet": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "BridgeFacetStaging": {
                    "address": "0x0e93f1e9a44AF236186a8cBCdeb22e2E6564856c",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "Connext": {
                    "address": "0x2075c9E31f973bb53CAE5BAC36a8eeB4B082ADC2",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging": {
                    "address": "0xfE802eB0B5Cd853Fd0fa98587bae475f79F58Ec2",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "ConnextStaging_DiamondProxy": {
                    "address": "0xfE802eB0B5Cd853Fd0fa98587bae475f79F58Ec2",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "Connext_DiamondProxy": {
                    "address": "0x2075c9E31f973bb53CAE5BAC36a8eeB4B082ADC2",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_contractOwner",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "initContract",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "initData",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ConnextDiamond.Initialization[]",
                                    "name": "_initializations",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addRemote_invalidRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__addSequencer_invalidSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_noRelayerVault",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__bumpTransfer_valueIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__excecute_insufficientGas",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__executePortalTransfer_insufficientAmountWithdrawn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_badFastLiquidityStatus",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_externalCallFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidRouterSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_invalidSequencerSignature",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_maxRoutersExceeded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notApprovedForPortals",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_notSupportedSequencer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_unapprovedSender",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__execute_wrongDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceReceiveLocal_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__forceUpdateSlippage_notDestination",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__mustHaveRemote_destinationNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__onlyDelegate_notDelegate",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__removeSequencer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__setXAppConnectionManager_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_emptyTo",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_invalidSlippage",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet__xcall_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BridgeFacet_xcall__emptyLocalAsset",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AavePortalMintUnbacked",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct ExecuteArgs",
                                    "name": "args",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Executed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "success",
                                    "type": "bool"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "returnData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "ExternalCalldataExecuted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "ForceReceiveLocal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "remote",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RemoteAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "sequencer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SequencerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "SlippageUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "increase",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "TransferRelayerFeesIncreased",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "XAppConnectionManagerSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint256",
                                    "name": "nonce",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "messageHash",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct TransferInfo",
                                    "name": "params",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "messageBody",
                                    "type": "bytes"
                                }
                            ],
                            "name": "XCalled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "addSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedSequencers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "bumpTransfer",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "domain",
                            "outputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_router",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "enrollRemoteRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                }
                            ],
                            "name": "forceReceiveLocal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                }
                            ],
                            "name": "forceUpdateSlippage",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "nonce",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "remote",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_sequencer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeSequencer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "routedTransfers",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                }
                            ],
                            "name": "setXAppConnectionManager",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "transferStatus",
                            "outputs": [
                                {
                                    "internalType": "enum DestinationTransferStatus",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "xAppConnectionManager",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcall",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_destination",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_delegate",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_slippage",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xcallIntoLocal",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacet": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondCutFacetStaging": {
                    "address": "0x324c5834cD3bD19c4991F4fC5b3a0Ff5257a692b",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCut",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "DiamondCutProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "DiamondCutRescinded",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "diamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "getAcceptanceTime",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "proposeDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "enum IDiamondCut.FacetCutAction",
                                            "name": "action",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondCut.FacetCut[]",
                                    "name": "_diamondCut",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_init",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_calldata",
                                    "type": "bytes"
                                }
                            ],
                            "name": "rescindDiamondCut",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInit": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "DiamondInitStaging": {
                    "address": "0x44e799f47A5599f5c9158d1F2457E30A6D77aDb4",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "DiamondInit__init_domainsDontMatch",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_xAppConnectionManager",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_acceptanceDelay",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "init",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacet": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "InboxFacetStaging": {
                    "address": "0x5Ccd25372A41eeB3D4E5353879Bb28213dF5a295",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__handle_notTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyRemoteRouter_notRemote",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__onlyReplica_notReplica",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_alreadyReconciled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "InboxFacet__reconcile_noPortalRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "actual",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "expected",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__assertType_typeAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__assertValid_validityAssertionFailed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TypedMemView__index_indexMoreThan32Bytes",
                            "type": "error"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "loc",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "len",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "slice",
                                    "type": "uint256"
                                }
                            ],
                            "name": "TypedMemView__index_overrun",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint64",
                                    "name": "originAndNonce",
                                    "type": "uint64"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "token",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "liquidityProvider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Receive",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "originDomain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address[]",
                                    "name": "routers",
                                    "type": "address[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "Reconciled",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint32",
                                    "name": "_origin",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_nonce",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_sender",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_message",
                                    "type": "bytes"
                                }
                            ],
                            "name": "handle",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "LPToken": {
                    "address": "0x801F5323d730d5b26D512b7c938F28b9A992CF96",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "MINIMUM_LIQUIDITY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burnFrom",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManager": {
                    "address": "0xB1E8aAA087CA19dCf7e39AB7762801d5A5E8d12C",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerStaging": {
                    "address": "0xcC85860A8797ddDdC4f5922299B4c0bFE8F7c98A",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "MerkleLib__insert_treeIsFull",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_alreadyArborist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "MerkleTreeManager__setArborist_zeroAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                }
                            ],
                            "name": "ArboristUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "LeafInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "root",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "LeavesInserted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "arborist",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "branch",
                            "outputs": [
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "",
                                    "type": "bytes32[32]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "count",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_arborist",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "leaf",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "leaves",
                                    "type": "bytes32[]"
                                }
                            ],
                            "name": "insert",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_root",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "root",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "rootAndCount",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newArborist",
                                    "type": "address"
                                }
                            ],
                            "name": "setArborist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "tree",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "count",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeacon": {
                    "address": "0x53eBf76d745B2be0474eF912F83C5564db367851",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxy": {
                    "address": "0x88D6229f1d6f3512aeAF5e0790af91606ADbC7dc",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconProxyStaging": {
                    "address": "0xF3FBEd97D01919fB7a403Bd3Db60e106Df7cCbF7",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_upgradeBeacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "_initializationCalldata",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "MerkleTreeManagerUpgradeBeaconStaging": {
                    "address": "0x12126386aA20A47dd89cac504b90222221109e42",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_initialImplementation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_controller",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "Upgrade",
                            "type": "event"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "fallback"
                        }
                    ]
                },
                "MultiSend": {
                    "address": "0x334889Eaa99d136c57CbeF042060D34bc07deA9c",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "transactions",
                                    "type": "bytes"
                                }
                            ],
                            "name": "multiSend",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacet": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "PortalFacetStaging": {
                    "address": "0x7993Bb17D8D8A0676Cc1527f8b4CE52A2B490352",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_invalidAsset",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortalFor_zeroAmount",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_assetNotApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__repayAavePortal_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "PortalFacet__setAavePortalFee_invalidFee",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePoolUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "updated",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalFeeUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "fee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AavePortalRepayment",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "aavePool",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "aavePortalFee",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getAavePortalFeeDebt",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_maxIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "originDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "destinationDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "uint32",
                                            "name": "canonicalDomain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "to",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "delegate",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "receiveLocal",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "callData",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "slippage",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "originSender",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "bridgedAmt",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "normalizedIn",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "nonce",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "canonicalId",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TransferInfo",
                                    "name": "_params",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_portalAsset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_backingAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_feeAmount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "repayAavePortalFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_aavePool",
                                    "type": "address"
                                }
                            ],
                            "name": "setAavePool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_aavePortalFeeNumerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAavePortalFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacet": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "ProposedOwnableFacetStaging": {
                    "address": "0x086B5A16D7Bd6B2955fCC7d5F9AA2a1544b67e0d",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__acceptProposedOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleAdmin_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleRouter_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__assignRoleWatcher_invalidInput",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__delayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeAssetAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__proposeRouterAllowlistRemoval_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeAssetAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__removeRouterAllowlist_noProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnableFacet__revokeRole_invalidInput",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "admin",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleAdmin",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleRouter",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "AssignRoleWatcher",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "revokedAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "enum Role",
                                    "name": "revokedRole",
                                    "type": "uint8"
                                }
                            ],
                            "name": "RevokeRole",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "timestamp",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RouterAllowlistRemovalProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "bool",
                                    "name": "renounced",
                                    "type": "bool"
                                }
                            ],
                            "name": "RouterAllowlistRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_admin",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleRouterAdmin",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "assignRoleWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposeRouterAllowlistRemoval",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_role",
                                    "type": "address"
                                }
                            ],
                            "name": "queryRole",
                            "outputs": [
                                {
                                    "internalType": "enum Role",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "removeRouterAllowlist",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_revoke",
                                    "type": "address"
                                }
                            ],
                            "name": "revokeRole",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistRemoved",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "routerAllowlistTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacet": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerFacetStaging": {
                    "address": "0xcCb64fDf1c0Cc1aac1C39E5968E82f89c1B8C769",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__addRelayer_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__removeRelayer_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RelayerFacet__setRelayerFeeVault_invalidRelayerFeeVault",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newVault",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerFeeVaultUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "approvedRelayers",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "relayerFeeVault",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayerFeeVault",
                                    "type": "address"
                                }
                            ],
                            "name": "setRelayerFeeVault",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RelayerProxy": {
                    "address": "0x18F49442bFB1E5280a36a3c6e54A58AB64C9ac55",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RelayerProxyStaging": {
                    "address": "0x885F7D7Fe28c87053f9eFB2c39A48A47362D55B0",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "ConnextChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "FeeCollectorChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDeducted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "balance",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsReceived",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "GelatoRelayerChanged",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "RelayerRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "updated",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "previous",
                                    "type": "address"
                                }
                            ],
                            "name": "SpokeConnectorChanged",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "addRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "allowedRelayer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "connext",
                            "outputs": [
                                {
                                    "internalType": "contract IConnext",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint32",
                                                    "name": "originDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "destinationDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "uint32",
                                                    "name": "canonicalDomain",
                                                    "type": "uint32"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "to",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "delegate",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "bool",
                                                    "name": "receiveLocal",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "bytes",
                                                    "name": "callData",
                                                    "type": "bytes"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "slippage",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "address",
                                                    "name": "originSender",
                                                    "type": "address"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "bridgedAmt",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "normalizedIn",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "uint256",
                                                    "name": "nonce",
                                                    "type": "uint256"
                                                },
                                                {
                                                    "internalType": "bytes32",
                                                    "name": "canonicalId",
                                                    "type": "bytes32"
                                                }
                                            ],
                                            "internalType": "struct TransferInfo",
                                            "name": "params",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "address[]",
                                            "name": "routers",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "bytes[]",
                                            "name": "routerSignatures",
                                            "type": "bytes[]"
                                        },
                                        {
                                            "internalType": "address",
                                            "name": "sequencer",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes",
                                            "name": "sequencerSignature",
                                            "type": "bytes"
                                        }
                                    ],
                                    "internalType": "struct ExecuteArgs",
                                    "name": "_args",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "execute",
                            "outputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "transferId",
                                    "type": "bytes32"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "feeCollector",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "gelatoRelayer",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes",
                                            "name": "message",
                                            "type": "bytes"
                                        },
                                        {
                                            "internalType": "bytes32[32]",
                                            "name": "path",
                                            "type": "bytes32[32]"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "index",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct ISpokeConnector.Proof[]",
                                    "name": "_proofs",
                                    "type": "tuple[]"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "_aggregateRoot",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "bytes32[32]",
                                    "name": "_aggregatePath",
                                    "type": "bytes32[32]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_aggregateIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "proveAndProcess",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_relayer",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "_encodedData",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_messageFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_relayerFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "send",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_connext",
                                    "type": "address"
                                }
                            ],
                            "name": "setConnext",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_feeCollector",
                                    "type": "address"
                                }
                            ],
                            "name": "setFeeCollector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_gelatoRelayer",
                                    "type": "address"
                                }
                            ],
                            "name": "setGelatoRelayer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_spokeConnector",
                                    "type": "address"
                                }
                            ],
                            "name": "setSpokeConnector",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "spokeConnector",
                            "outputs": [
                                {
                                    "internalType": "contract ISpokeConnector",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdraw",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "RoutersFacet": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "RoutersFacetStaging": {
                    "address": "0xBe8D8Ac9a44fBa6cb7A7E02c1E6576E06C7da72D",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_badCaller",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__acceptProposedRouterOwner_notElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_capReached",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__addLiquidityForRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_alreadyApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouterForPortal_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__approveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__initializeRouter_configNotEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__onlyRouterOwner_notRouterOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_badRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__proposeRouterOwner_notNewOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidityFor_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_amountIsZero",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_insufficientFunds",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__removeRouterLiquidity_recipientEmpty",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooLarge",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setLiquidityFeeNumerator_tooSmall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setMaxRoutersPerTransfer_invalidMaxRoutersPerTransfer",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterOwner_noChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__setRouterRecipient_notNewRecipient",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouterForPortal_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "RoutersFacet__unapproveRouter_routerEmpty",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "liquidityFeeNumerator",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityFeeNumeratorUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "maxRoutersPerTransfer",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "MaxRoutersPerTransferUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterApprovedForPortal",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "local",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterLiquidityRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerAccepted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevProposed",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterOwnerProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "prevRecipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newRecipient",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRecipientSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "router",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RouterUnapprovedForPortal",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_DENOMINATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "LIQUIDITY_FEE_NUMERATOR",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "acceptProposedRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "addRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "approveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getProposedRouterOwnerTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApproval",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterApprovalForPortal",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterOwner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "getRouterRecipient",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "initializeRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "maxRoutersPerTransfer",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_proposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeRouterOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidity",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address payable",
                                    "name": "_to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "removeRouterLiquidityFor",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_asset",
                                    "type": "address"
                                }
                            ],
                            "name": "routerBalances",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_numerator",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setLiquidityFeeNumerator",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "_newMaxRouters",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setMaxRoutersPerTransfer",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_recipient",
                                    "type": "address"
                                }
                            ],
                            "name": "setRouterRecipient",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouter",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_router",
                                    "type": "address"
                                }
                            ],
                            "name": "unapproveRouterForPortal",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwap": {
                    "address": "0x745A5804031948B3301AAbc34A721cd66fb4294D",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacet": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapFacetStaging": {
                    "address": "0x9AB5F562Dc2aCcCd1b80d6564B770786e38f0686",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__deadlineCheck_deadlineNotMet",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenBalance_indexOutOfRange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapTokenIndex_notExist",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "StableSwapFacet__getSwapToken_outOfRange",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateSwapTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getSwapAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapLPToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapStorage",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getSwapTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getSwapTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getSwapVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeSwapLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "StableSwapStaging": {
                    "address": "0x580A199700c9184E422fcf7D5BBBbd342104cc58",
                    "abi": [
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint8",
                                    "name": "version",
                                    "type": "uint8"
                                }
                            ],
                            "name": "Initialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newWithdrawFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewWithdrawFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Paused",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtilsExternal.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "Unpaused",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minToMint",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "addLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateRemoveLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                }
                            ],
                            "name": "calculateRemoveLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "availableTokenAmount",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dy",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                }
                            ],
                            "name": "calculateSwapOutFromAddress",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "bool",
                                    "name": "deposit",
                                    "type": "bool"
                                }
                            ],
                            "name": "calculateTokenAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getA",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getAPrecise",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "index",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getAdminBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getToken",
                            "outputs": [
                                {
                                    "internalType": "contract IERC20",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "index",
                                    "type": "uint8"
                                }
                            ],
                            "name": "getTokenBalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "tokenAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenIndex",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "getVirtualPrice",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "lpTokenTargetAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "initialize",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "pause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "paused",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "minAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidity",
                            "outputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "",
                                    "type": "uint256[]"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "amounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxBurnAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityImbalance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "tokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "removeLiquidityOneToken",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "dx",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minDy",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swap",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "minAmountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExact",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "amountOut",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetIn",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "assetOut",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "maxAmountIn",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "deadline",
                                    "type": "uint256"
                                }
                            ],
                            "name": "swapExactOut",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "payable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "swapStorage",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "initialA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "initialATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureATime",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "swapFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "adminFee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "contract LPToken",
                                    "name": "lpToken",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "transferOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "unpause",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "withdrawAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacet": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapAdminFacetStaging": {
                    "address": "0x6369F971fd1f1f230B8584151Ed7747FF710Cc68",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_alreadyDisabled",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__disableSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_aExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_adminFeeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_alreadyInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_decimalsMismatch",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_duplicateTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_failedInitLpTokenClone",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_feeExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_invalidPooledTokens",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_tokenDecimalsExceedMax",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__initializeSwap_zeroTokenAddress",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notDisabledPool",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__removeSwap_notInitialized",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "SwapAdminFacet__updateLpTokenTarget_invalidNewAddress",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AdminFeesWithdrawn",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "oldAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LPTokenTargetUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStarted",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "RampAStopped",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapDisabled",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapFeesSet",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "key",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureA",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "initialATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "futureATime",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "swapFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "adminFee",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "contract LPToken",
                                            "name": "lpToken",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "contract IERC20[]",
                                            "name": "pooledTokens",
                                            "type": "address[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "tokenPrecisionMultipliers",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "balances",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "uint256[]",
                                            "name": "adminFees",
                                            "type": "uint256[]"
                                        },
                                        {
                                            "internalType": "bool",
                                            "name": "disabled",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "removeTime",
                                            "type": "uint256"
                                        }
                                    ],
                                    "indexed": false,
                                    "internalType": "struct SwapUtils.Swap",
                                    "name": "swap",
                                    "type": "tuple"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapInitialized",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "SwapRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "disableSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "contract IERC20[]",
                                    "name": "_pooledTokens",
                                    "type": "address[]"
                                },
                                {
                                    "internalType": "uint8[]",
                                    "name": "decimals",
                                    "type": "uint8[]"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "lpTokenSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_fee",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_adminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "initializeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "isDisabled",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "lpTokenTargetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "rampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "removeSwap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapAdminFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setSwapFee",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "stopRampA",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newAddress",
                                    "type": "address"
                                }
                            ],
                            "name": "updateLpTokenTarget",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "withdrawSwapAdminFees",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternal": {
                    "address": "0x5246FA1Bfd577f466F3BBDA50db5027d2b376Ade",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "SwapUtilsExternalStaging": {
                    "address": "0x8f08A638095A1d9De2cAAe245f0e886b083D0528",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "AssetLogic__handleOutgoingAsset_notNative",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "AddLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newAdminFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewAdminFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newSwapFee",
                                    "type": "uint256"
                                }
                            ],
                            "name": "NewSwapFee",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "oldA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "newA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "initialTime",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "futureTime",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidity",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "tokenAmounts",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256[]",
                                    "name": "fees",
                                    "type": "uint256[]"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "invariant",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityImbalance",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "provider",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenAmount",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "lpTokenSupply",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "boughtId",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                }
                            ],
                            "name": "RemoveLiquidityOne",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "currentA",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "time",
                                    "type": "uint256"
                                }
                            ],
                            "name": "StopRampA",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "buyer",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensSold",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "tokensBought",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "soldId",
                                    "type": "uint128"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint128",
                                    "name": "boughtId",
                                    "type": "uint128"
                                }
                            ],
                            "name": "TokenSwap",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "preciseA",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexFrom",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndexTo",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "x",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                }
                            ],
                            "name": "getY",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "a",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "tokenIndex",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "uint256[]",
                                    "name": "xp",
                                    "type": "uint256[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "d",
                                    "type": "uint256"
                                }
                            ],
                            "name": "getYD",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "pure",
                            "type": "function"
                        }
                    ]
                },
                "TestAdopted": {
                    "address": "0x5a12Ce078e9Ba543a39390B8fA807Ce2Be064335",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestERC20": {
                    "address": "0xDC805eAaaBd6F68904cA706C221c72F8a8a68F9f",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TestWETH": {
                    "address": "0xa7D593511B22d83d197A74aA5a05e61D4FFC6d6d",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Approval",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "value",
                                    "type": "uint256"
                                }
                            ],
                            "name": "Transfer",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "owner",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                }
                            ],
                            "name": "allowance",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "approve",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                }
                            ],
                            "name": "balanceOf",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "burn",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "decimals",
                            "outputs": [
                                {
                                    "internalType": "uint8",
                                    "name": "",
                                    "type": "uint8"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "subtractedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "decreaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "spender",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "addedValue",
                                    "type": "uint256"
                                }
                            ],
                            "name": "increaseAllowance",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "account",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "mint",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "name",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "string",
                                    "name": "_newName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_newSymbol",
                                    "type": "string"
                                }
                            ],
                            "name": "setDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "symbol",
                            "outputs": [
                                {
                                    "internalType": "string",
                                    "name": "",
                                    "type": "string"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "totalSupply",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transfer",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "from",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "to",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "transferFrom",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacet": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "TokenFacetStaging": {
                    "address": "0xe37d4F73ef1C85dEf2174A394f17Ac65DD3cBB81",
                    "abi": [
                        {
                            "inputs": [],
                            "name": "AssetLogic__getConfig_notRegistered",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getAdoptedAsset_assetNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__getApprovedCanonicalId_notAllowlisted",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__nonXCallReentrant_reentrantCall",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrAdmin_notOwnerOrAdmin",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrRouter_notOwnerOrRouter",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwnerOrWatcher_notOwnerOrWatcher",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "BaseConnextFacet__whenNotPaused_paused",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_alreadyAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badBurn",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__addAssetId_badMint",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__enrollAdoptedAndLocalAssets_emptyCanonical",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_invalidParams",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_notAdded",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__removeAssetId_remainsCustodied",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setLiquidityCap_notCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_invalidRepresentation",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAssetWithDeployedRepresentation_onCanonicalDomain",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_invalidCanonicalConfiguration",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__setupAsset_representationListed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_localNotFound",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_notApproved",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "TokenFacet__updateDetails_onlyRemote",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "adoptedAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "localAsset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "AssetRemoved",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "cap",
                                    "type": "uint256"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "LiquidityCapUpdated",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "key",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "canonicalId",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "swapPool",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "caller",
                                    "type": "address"
                                }
                            ],
                            "name": "StableSwapAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "uint32",
                                    "name": "domain",
                                    "type": "uint32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "bytes32",
                                    "name": "id",
                                    "type": "bytes32"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "representation",
                                    "type": "address"
                                }
                            ],
                            "name": "TokenDeployed",
                            "type": "event"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "addStableSwapPool",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_adopted",
                                    "type": "address"
                                }
                            ],
                            "name": "adoptedToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "adoptedToLocalExternalPools",
                            "outputs": [
                                {
                                    "internalType": "contract IStableSwap",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "approvedAssets",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToAdopted",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                }
                            ],
                            "name": "canonicalToRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                }
                            ],
                            "name": "getCustodiedAmount",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_id",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "_domain",
                                    "type": "uint32"
                                }
                            ],
                            "name": "getLocalAndAdoptedToken",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_candidate",
                                    "type": "address"
                                }
                            ],
                            "name": "getTokenId",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "_key",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "removeAssetId",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                }
                            ],
                            "name": "representationToCanonical",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "",
                                    "type": "tuple"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint8",
                                    "name": "_canonicalDecimals",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationName",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_representationSymbol",
                                    "type": "string"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_cap",
                                    "type": "uint256"
                                }
                            ],
                            "name": "setupAsset",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "_local",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_representation",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_adoptedAssetId",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_stableSwapPool",
                                    "type": "address"
                                }
                            ],
                            "name": "setupAssetWithDeployedRepresentation",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_name",
                                    "type": "string"
                                },
                                {
                                    "internalType": "string",
                                    "name": "_symbol",
                                    "type": "string"
                                }
                            ],
                            "name": "updateDetails",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "uint32",
                                            "name": "domain",
                                            "type": "uint32"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "id",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct TokenId",
                                    "name": "_canonical",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "_updated",
                                    "type": "uint256"
                                }
                            ],
                            "name": "updateLiquidityCap",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "Unwrapper": {
                    "address": "0x18BBF96BC8014aA93cbf1A5Bce005a485b5C2C4a",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "connext",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "wrapper",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "FundsDelivered",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                }
                            ],
                            "name": "WrongAsset",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "CONNEXT",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "WRAPPER",
                            "outputs": [
                                {
                                    "internalType": "contract IWrapper",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "sweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "recipient",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                }
                            ],
                            "name": "unwrapAndSweep",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes32",
                                    "name": "",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "amount",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "asset",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                },
                                {
                                    "internalType": "uint32",
                                    "name": "",
                                    "type": "uint32"
                                },
                                {
                                    "internalType": "bytes",
                                    "name": "callData",
                                    "type": "bytes"
                                }
                            ],
                            "name": "xReceive",
                            "outputs": [
                                {
                                    "internalType": "bytes",
                                    "name": "",
                                    "type": "bytes"
                                }
                            ],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "stateMutability": "payable",
                            "type": "receive"
                        }
                    ]
                },
                "UpgradeBeaconController": {
                    "address": "0xdF04f7A170fc88C3CA6dC7593173714DDDBfF8AD",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "UpgradeBeaconControllerStaging": {
                    "address": "0xF03d8fdD26048a415483f745644c5D732b791870",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "beacon",
                                    "type": "address"
                                },
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "BeaconUpgraded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_beacon",
                                    "type": "address"
                                },
                                {
                                    "internalType": "address",
                                    "name": "_implementation",
                                    "type": "address"
                                }
                            ],
                            "name": "upgrade",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManager": {
                    "address": "0xB327eA239aB49886A9b724996dB2b50Cb5234CAC",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "WatcherManagerStaging": {
                    "address": "0x5A236a61218FC76F894F1b1a79293A7cAaE39eE3",
                    "abi": [
                        {
                            "inputs": [],
                            "stateMutability": "nonpayable",
                            "type": "constructor"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyOwner_notOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__onlyProposed_notProposedOwner",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__ownershipDelayElapsed_delayNotElapsed",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__proposeNewOwner_noOwnershipChange",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_invalidProposal",
                            "type": "error"
                        },
                        {
                            "inputs": [],
                            "name": "ProposedOwnable__renounceOwnership_noProposal",
                            "type": "error"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "proposedOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipProposed",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "previousOwner",
                                    "type": "address"
                                },
                                {
                                    "indexed": true,
                                    "internalType": "address",
                                    "name": "newOwner",
                                    "type": "address"
                                }
                            ],
                            "name": "OwnershipTransferred",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherAdded",
                            "type": "event"
                        },
                        {
                            "anonymous": false,
                            "inputs": [
                                {
                                    "indexed": false,
                                    "internalType": "address",
                                    "name": "watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "WatcherRemoved",
                            "type": "event"
                        },
                        {
                            "inputs": [],
                            "name": "acceptProposedOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "addWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "delay",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "name": "isWatcher",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "owner",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "newlyProposed",
                                    "type": "address"
                                }
                            ],
                            "name": "proposeNewOwner",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposed",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "proposedTimestamp",
                            "outputs": [
                                {
                                    "internalType": "uint256",
                                    "name": "",
                                    "type": "uint256"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_watcher",
                                    "type": "address"
                                }
                            ],
                            "name": "removeWatcher",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounceOwnership",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "renounced",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondERC165Init": {
                    "address": "0xe68d85348f227d2ebEE814C38918F8A2D7d9B603",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIds",
                                    "type": "bytes4[]"
                                },
                                {
                                    "internalType": "bytes4[]",
                                    "name": "interfaceIdsToRemove",
                                    "type": "bytes4[]"
                                }
                            ],
                            "name": "setERC165",
                            "outputs": [],
                            "stateMutability": "nonpayable",
                            "type": "function"
                        }
                    ]
                },
                "_DefaultDiamondLoupeFacet": {
                    "address": "0x3Bcf4185443A339517aD4e580067f178d1B68E1D",
                    "abi": [
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_functionSelector",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "facetAddress",
                            "outputs": [
                                {
                                    "internalType": "address",
                                    "name": "facetAddress_",
                                    "type": "address"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facetAddresses",
                            "outputs": [
                                {
                                    "internalType": "address[]",
                                    "name": "facetAddresses_",
                                    "type": "address[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "address",
                                    "name": "_facet",
                                    "type": "address"
                                }
                            ],
                            "name": "facetFunctionSelectors",
                            "outputs": [
                                {
                                    "internalType": "bytes4[]",
                                    "name": "facetFunctionSelectors_",
                                    "type": "bytes4[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [],
                            "name": "facets",
                            "outputs": [
                                {
                                    "components": [
                                        {
                                            "internalType": "address",
                                            "name": "facetAddress",
                                            "type": "address"
                                        },
                                        {
                                            "internalType": "bytes4[]",
                                            "name": "functionSelectors",
                                            "type": "bytes4[]"
                                        }
                                    ],
                                    "internalType": "struct IDiamondLoupe.Facet[]",
                                    "name": "facets_",
                                    "type": "tuple[]"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        },
                        {
                            "inputs": [
                                {
                                    "internalType": "bytes4",
                                    "name": "_interfaceId",
                                    "type": "bytes4"
                                }
                            ],
                            "name": "supportsInterface",
                            "outputs": [
                                {
                                    "internalType": "bool",
                                    "name": "",
                                    "type": "bool"
                                }
                            ],
                            "stateMutability": "view",
                            "type": "function"
                        }
                    ]
                }
            }
        }
    ]
}
